Tarea 3

Author

Ligia Espinoza

# carga del paquete Tydediverse

library(tidyverse)
# carga  del paquete DT para generar tabla con los registros de presencia de felinos

library(DT)

felinos |>
  select(Especie, Provincia, Localidad, Fecha)|>
  datatable(options = list(
    pageLength = 7,
    language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
  ))
# Cambio de tipo de datos de las columnas year, month y day
felinos <-
  felinos |>
  mutate(year = as.numeric(format(Fecha,'%Y'))) |>
  mutate(month = as.numeric(format(Fecha,'%m'))) |> 
  arrange((month))|>
  mutate(day = as.numeric(format(Fecha,'%d')))
library(plotly)
#generación de gráfico de barras apiladas que muestre la cantidad de registros de felinos por especie en cada mes del año

grafico_barras_ggplot2 <-
felinos |>
  ggplot(aes(x = month, fill = Especie)) +
  scale_x_continuous(breaks = seq(1,12,1))+
  scale_x_continuous(breaks = seq(1,12,1), labels = c("1" = "Enero", "2" = "Febrero", "3" = "Marzo", "4" = "Abril", 
           "5" = "Mayo", "6" = "Junio", "7" = "Julio", "8" = "Agos", 
           "9" =  "Setie", "10" =  "Octu", "11" =  "Nov", "12" =  "Diciembre"))+
  geom_bar() +
  ggtitle("Cantidad Registros felinos por Especie en cada mes del año") +
  xlab("mes") +
  ylab("Cantidad") +
  labs(fill = "Especie") +
  theme_minimal()

# Gráfico de barras plotly
ggplotly(grafico_barras_ggplot2) |> 
  config(locale = 'es')
library(sf)
ASP <-
  st_read("c:/r/clase71122/ign/Areassilvestresprotegidas.shp",
    quiet = TRUE # para evitar el despliegue de mensajes
  )
st_crs(ASP)
Coordinate Reference System:
  User input: CR05 / CRTM05 
  wkt:
PROJCRS["CR05 / CRTM05",
    BASEGEOGCRS["CR05",
        DATUM["Costa Rica 2005",
            ELLIPSOID["WGS 84",6378137,298.257223563,
                LENGTHUNIT["metre",1]]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["degree",0.0174532925199433]],
        ID["EPSG",5365]],
    CONVERSION["Costa Rica TM 2005",
        METHOD["Transverse Mercator",
            ID["EPSG",9807]],
        PARAMETER["Latitude of natural origin",0,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8801]],
        PARAMETER["Longitude of natural origin",-84,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8802]],
        PARAMETER["Scale factor at natural origin",0.9999,
            SCALEUNIT["unity",1],
            ID["EPSG",8805]],
        PARAMETER["False easting",500000,
            LENGTHUNIT["metre",1],
            ID["EPSG",8806]],
        PARAMETER["False northing",0,
            LENGTHUNIT["metre",1],
            ID["EPSG",8807]]],
    CS[Cartesian,2],
        AXIS["northing (N)",north,
            ORDER[1],
            LENGTHUNIT["metre",1]],
        AXIS["easting (E)",east,
            ORDER[2],
            LENGTHUNIT["metre",1]],
    USAGE[
        SCOPE["Cadastre, engineering survey, topographic mapping (large and medium scale)."],
        AREA["Costa Rica - onshore and offshore east of 86°30'W."],
        BBOX[2.21,-86.5,11.77,-81.43]],
    ID["EPSG",5367]]
# Transformación del CRS del objeto Areas silvestres protegidas a WGS84 (EPSG = 4326)
ASP <-
  ASP |>
  st_transform(4326)
#Generación de mapa que muestra las siguientes cinco capas:Dos capas base (ej. OpenStreetMap); Capa raster de altitud de Costa Rica; Capa de polígonos de ASP de Costa Rica,capa de puntos de felinos de CR  y ventana emergente (popup) que permite visualizar el nombre del ASP al hacer clic sobre el polígono, el nombre de la especie, la provincia, la localidad y la fecha.
library(leafem)
library(leaflet)
library(leaflet.extras)
library(leaflet.providers)
library(terra)
library(raster)
library(rgdal)


altitud <- rast("C:/r/clase71122/altitud.tif")

felinos3 <-
  st_as_sf(felinos, coords = c("Long", "Lat"))

st_crs(felinos3) <- 4326

leaflet() |>
  setView(# centro y nivel inicial de acercamiento
    lng = -84.19452,
    lat = 9.572735,
    zoom = 7) |>
  addTiles(group = "OpenStreetMap") |>
  addProviderTiles(providers$Esri.NatGeoWorldMap) |>
  addRasterImage(raster(altitud)) |>
  addPolygons(
    # capa de Areas silvestres protegidas (polígonos)
    data = ASP,
    color = "black",
    fillColor = "transparent",
    stroke = TRUE,
    weight = 1.0
  ) |>
  addCircleMarkers(
    # capa de registros de presencia de felinos (puntos)
    data = felinos3,
    stroke = F,
    radius = 4,
    fillColor = 'green',
    fillOpacity = 1,
    group = "Felinos",
    popup = paste(
      paste0("<strong>Especie: </strong>", felinos$Especie),
      paste0("<strong>Provincia: </strong>", felinos$Provincia),
      paste0("<strong>Localidad: </strong>", felinos$Localidad),
      paste0("<strong>Fecha: </strong>", felinos$Fecha)
    )
  ) |>
  addLayersControl(
    baseGroups = c("OpenStreetMap", "Esri.NatGeoWorldMap"),
    overlayGroups = c("Felinos", "altitud", "ASP")
  ) |> # control de capas
  addResetMapButton() |> # botón de reinicio
  addSearchOSM() |> # búsqueda en OSM
  addMouseCoordinates() |> # coordenadas del puntero del ratón
  addScaleBar(position = "bottomleft", options = scaleBarOptions(imperial = FALSE)) |> # barra de escala
  addMiniMap(position = "bottomleft")  # mapa de ubicación